Java by API > java.awt.image > BufferedImage :: 자주 쓰이는 메소드및 API 를 정리합니다.[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자주 쓰이는 메소드및 API 를 정리합니다.
탭으로 나뉘어져 있는 글입니다.   [1][2][3]
등록일:2008-03-17 10:03:44 (0%)
작성자:
제목:Java by API > java.awt.image > BufferedImage
new  BufferedImage(int  width,  int  height,  int  imageType)

import  java.awt.Graphics;
import  java.awt.Image;
import  java.awt.image.BufferedImage;

import  javax.swing.JFrame;
import  javax.swing.JPanel;

public  class  MainClass  extends  JPanel  {

    public  void  paint(Graphics  g)  {
        Image  img  =  createImage();
        g.drawImage(img,  20,20,this);
    }

    public  static  void  main(String[]  args)  {
        JFrame  frame  =  new  JFrame();
        frame.getContentPane().add(new  MainClass());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200,  200);
        frame.setVisible(true);
    }
    
    private  Image  createImage(){
        BufferedImage  bufferedImage  =  new  BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
        Graphics  g  =  bufferedImage.getGraphics();
        g.drawString("ssiso.mireene.com",  20,20);
        
        return  bufferedImage;
    }
}



BufferImage  emboss

import  java.awt.Graphics;
import  java.awt.Image;
import  java.awt.image.BufferedImage;
import  java.awt.image.BufferedImageOp;
import  java.awt.image.ConvolveOp;
import  java.awt.image.Kernel;

import  javax.swing.JFrame;
import  javax.swing.JPanel;

public  class  MainClass  extends  JPanel  {

    public  void  paint(Graphics  g)  {
        BufferedImage  clone  =  emboss(createImage());
        
        g.drawImage(clone,  20,20,this);
    }

    public  BufferedImage  emboss(BufferedImage  src)  {
        int  width  =  src.getWidth();
        int  height  =  src.getHeight();

        BufferedImage  dst;
        dst  =  new  BufferedImage(width,  height,  BufferedImage.TYPE_INT_RGB);

        for  (int  i  =  0;  i  <  height;  i++)
            for  (int  j  =  0;  j  <  width;  j++)  {
                int  upperLeft  =  0;
                int  lowerRight  =  0;

                if  (i  >  0  &&  j  >  0)
                    upperLeft  =  src.getRGB(j  -  1,  i  -  1);

                if  (i  <  height  -  1  &&  j  <  width  -  1)
                    lowerRight  =  src.getRGB(j  +  1,  i  +  1);

                int  redDiff  =  ((lowerRight  >>  16)  &  255)  -  ((upperLeft  >>  16)  &  255);

                int  greenDiff  =  ((lowerRight  >>  8)  &  255)  -  ((upperLeft  >>  8)  &  255);

                int  blueDiff  =  (lowerRight  &  255)  -  (upperLeft  &  255);

                int  diff  =  redDiff;
                if  (Math.abs(greenDiff)  >  Math.abs(diff))
                    diff  =  greenDiff;
                if  (Math.abs(blueDiff)  >  Math.abs(diff))
                    diff  =  blueDiff;

                int  grayColor  =  128  +  diff;

                if  (grayColor  >  255)
                    grayColor  =  255;
                else  if  (grayColor  <  0)
                    grayColor  =  0;

                int  newColor  =  (grayColor  <<  16)  +  (grayColor  <<  8)  +  grayColor;

                dst.setRGB(j,  i,  newColor);
            }

        return  dst;
    }
    
    private  BufferedImage  createImage(){
        BufferedImage  bufferedImage  =  new  BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
        Graphics  g  =  bufferedImage.getGraphics();
        g.drawString("ssiso.mireene.com",  20,20);
        
        return  bufferedImage;
    }

    public  static  void  main(String[]  args)  {
        JFrame  frame  =  new  JFrame();
        frame.getContentPane().add(new  MainClass());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200,  200);
        frame.setVisible(true);
    }    
    
}



BufferedImage:  getSource()

import  java.awt.Graphics;
import  java.awt.Image;
import  java.awt.image.BufferedImage;
import  java.awt.image.FilteredImageSource;
import  java.awt.image.RGBImageFilter;

import  javax.swing.JFrame;
import  javax.swing.JPanel;

public  class  MainClass  extends  JPanel  {

    public  void  paint(Graphics  g)  {
        NegativeFilter  nf  =  new  NegativeFilter();

        Image  i  =  createImage(new  FilteredImageSource(createImage().getSource(),  nf));

        g.drawImage(i,  20,  20,  this);
    }

    private  BufferedImage  createImage()  {
        BufferedImage  bufferedImage  =  new  BufferedImage(200,  200,  BufferedImage.TYPE_INT_RGB);
        Graphics  g  =  bufferedImage.getGraphics();
        g.drawString("ssiso.mireene.com",  20,  20);

        return  bufferedImage;
    }

    public  static  void  main(String[]  args)  {
        JFrame  frame  =  new  JFrame();
        frame.getContentPane().add(new  MainClass());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200,  200);
        frame.setVisible(true);
    }

}

class  NegativeFilter  extends  RGBImageFilter  {
    public  NegativeFilter()  {
        canFilterIndexColorModel  =  true;
    }

    public  int  filterRGB(int  x,  int  y,  int  rgb)  {
        return  rgb  ^  0x00ffffff;
    }
}
[본문링크] Java by API > java.awt.image > BufferedImage
탭으로 나뉘어져 있는 글입니다.   [1][2][3]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=2819
작성자
비밀번호

 

SSISOCommunity
탭글
[1][2][3]

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.